<?php


namespace app\common\model;


use think\Model;

class GuildTransferModel extends Model
{
    protected $connection = 'db_live';

    // 审核状态
    const AUDIT_STATUS = [
        0 => '待处理',
        1 => '审核通过',
        2 => '拒绝',
    ];

    // 操作步骤文本
    const AUDIT_STEP_ARR = [
        1 => '工会需要审核，',
        2 => '工会拒绝',
        3 => '转入工会审核中',
        4 => '转入工会审核拒绝',
        5 => '平台审核中',
        6 => '平台审核同意',
        7 => '平台审核拒绝',
    ];

    /**
     * 获取审核状态文本
     * @param $audit_status
     * @return string
     */
    public function auditStatusText($audit_status)
    {
        return isset(self::AUDIT_STATUS[$audit_status]) ? self::AUDIT_STATUS[$audit_status] : '';
    }


    /**
     * 获取审核步骤文本
     * @param $audit_step
     * @return string
     */
    public function auditSptpText($audit_step)
    {
        return isset(self::AUDIT_STEP_ARR[$audit_step]) ? self::AUDIT_STEP_ARR[$audit_step] : '';
    }

    public function user()
    {
        return $this->hasOne(UserModel::class, 'id', 'uid')->with(['profile'])->field('id,account,avatar,nick_name');
    }

    public function originalGuild()
    {
        return $this->hasOne(GuildModel::class, 'id', 'original_guild_id')->field('id,name');
    }


    /**
     * 审核步骤
     * @param $guild_audit 当前工会审核状态
     * @param $into_guild_audit 转入工会审核状态
     * @param $platform_audit 平台审核状态
     * 1工会需要审核，
     * 2工会拒绝
     * 3转入工会审核中
     * 4转入工会审核拒绝
     * 5平台审核中
     * 6平台审核同意
     * 7平台审核拒绝
     */
    public function auditStep($transfer_info)
    {
        if ($transfer_info->guild_audit == 0) {
            return 1;
        }
        if ($transfer_info->guild_audit == 2) {
            return 2;
        }
        if ($transfer_info->into_guild_audit == 0) {
            return 3;
        }
        if ($transfer_info->into_guild_audit == 2) {
            return 4;
        }
        if ($transfer_info->platform_audit == 0) {
            return 5;
        }
        if ($transfer_info->platform_audit == 2) {
            return 6;
        }
        return 7;
    }
}